function IrfPlot_AggVar(IRF,FileFlag)

%% Preliminaries
VarList     =   {'C','Y','L_N','L_H',...
                 'C_FI_dom','C_FI_ext','C_RI_N','C_RI_H',...
                 'C_N','C_T','C_H','C_F',...
                 'Bp_dom','Bp_ext','ir_dom','ir_ext',...
                 'Y_N','Y_H','w_N','w_H',...
                 'Pir','Pir_N','Pir_H','Pir_F',...
                 'T','TAU','B','ir',...
                 'dE','Eta_Z','Eta_Z_N','Eta_Z_H','Eta_M_dom','Eta_M_ext' };
%              'Profit','Profit_N','Profit_T',,'mc_N','mc_T'
ShockList   =   {'Eps_Eta_M_dom','Eps_Eta_M_ext','Eps_Eta_Z','Eps_Eta_Z_N','Eps_Eta_Z_H'};
% 

%% Graph
% Setup
Num_Var     =   length(VarList);
Num_Shock   =   length(ShockList);

N_col       =   8;
N_row       =   ceil(Num_Var/N_col);
fig_size    =   [N_col*200,N_row*200];
fig_pos     =   [50, 50, fig_size];  
fig_gap     =   [0.02,0.02];
fig_VMargin =   [0.02,0.02];
fig_HMargin =   [0.03,0.01]; 

fig_SubPlot =   @(ii_vv)subtightplot(N_row,N_col,ii_vv,...
                                     fig_gap,fig_VMargin,fig_HMargin);
for ii_sh=1:Num_Shock
    SH          =   ShockList{ii_sh};
    IRF.(SH).rr_dom ...
                =   [0,IRF.(SH).ir_dom(1:end-1)]-IRF.(SH).Pir;
    IRF.(SH).rr_ext ...
                =   [0,IRF.(SH).ir_ext(1:end-1)]-IRF.(SH).Pir;
    fig_Handle  =   figure('Name',['IRF-',SH],'Position',fig_pos);
    for ii_vv=1:Num_Var
        VV          =   VarList{ii_vv};  
        fig_SubPlot(ii_vv);
        TempIrf         =   IRF.(SH).(VV);
        TempIrf(abs(TempIrf)<1e-6) ...
                        =   0;
        [PH,ax]         =   IrfPlot_Unit(TempIrf);
        ax.XTickLabel   =   [];
        title(VV);

    end
    fig_Handle.PaperUnits  =   'points';
    fig_Handle.PaperSize   =   fig_size;
    
    if nargin>1 
        print(fig_Handle,[FileFlag,'_',SH],'-dpdf','-bestfit');
    end
    
end

